An event processing system (EPS) is a computer-based system that accepts input events derived from real-world events. The EPS processes the event data to detect patterns in the data based on a set of event processing rules. The EPS then produces output events that typically will have a direct or indirect effect on the real world to assist the EPS user in achieving a desired goal.
An event is something that happens in the real world. An event can occur in a business context, such as a sales figure, an order being shipped, or a financial transaction. Events can occur in other contexts as well. For example, an event could be some occurrence in an industrial process, such as a temperature rising above a threshold.
Event producers produce events when something of interest happens. For example, an event producer could be a temperature sensor, or business system that generates an output record of a sales figure, a financial transaction, or a warehouse shipment. Some kind of interface is often required to format the raw event data into a form usable for later processing. For example, raw data from a sensor may be formatted into a decimal value, and a timestamp and identifier added to the event.
Event processing services reside on a computer and accept input events from event producers. The input events are processed by the event processing services based on a set of rules, which typically include a condition rule statement and an action rule statement. Patterns are detected in the input events based on the condition rule statement, and an output event is generated based on the action rule statement. For example, a simple condition rule statement might look for a specific value provided in an input event from a specific event producer, and a simple action rule statement might report that the specific value was found.
If a pattern specified in a condition rule statement is found, the input event is assigned a classification or category. For example, if the specified pattern is detected, a condition rule value might be assigned the value “true.” The action rule statement associated with the condition rule statement directs the event processing services to generate an output event. For example, an output event might be a simple notification that a condition has occurred, the output event might cause some direct change to an industrial process, or the output event might be a recommendation to take some specific business action based on the simultaneous occurrences of several real-world events.
Complex event processing consists of processing many different events from different input streams, often referred to as an event cloud. Typically, related input events are combined to form complex events, and the complex events are processed to detect patterns in the events based on, for example, event hierarchies, and relationships between events such as temporal, causality, and membership. Output events are then generated based on the patterns detected in the complex input events.
Event consumers receive the output events from the event processing services and perform tasks in reaction to the output events. An event consumer might be a valve actuator in an industrial process, a sales manager, or a service or application in a computer. Often, an interface is required to format the output event into a form usable by the event consumer.
The above model describes a general EPS model in which events are created by event producers, processed by event processing services, and acted upon by event consumers. A special case is where the event producer and the event consumer are the same entity. For example, if the EPS is applied to product sales, input events consisting of sales figures generated by retail customers buying the product might result in output events that recommend a certain product discount be applied to promote more sales. The retail customer receives and acts upon the product discount by buying more product. Here, the retail customer is both the event producer and the event consumer.
The above describes one model of an event processing system. Numerous models offering different terminology, having finer granularity of components, or different boundaries between EPS components are also in use.